<!DOCTYPE html>
<html>
<head>
    

    

    



    <meta charset="utf-8">
    
    
    
    
    <title>算法学习目录 | 写作之路</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    
    <meta name="theme-color" content="#3F51B5">
    
    
    <meta name="keywords" content="">
    <meta name="description" content="​    栈，队列，链表    https://www.pwzxxm.com/cn/stack-queue-link-list/    •哈希表，哈希数组    •堆，优先队列    双端队列    可并堆    左偏堆    •二叉查找树    Treap    伸展树    •并查集    集合计数问题    二分图的识别    •平衡二叉树    •二叉排序树    •线段树    一维线段">
<meta property="og:type" content="article">
<meta property="og:title" content="算法学习目录">
<meta property="og:url" content="https://e9ab98e991ab.github.io/2018/02/10/算法目录/index.html">
<meta property="og:site_name" content="写作之路">
<meta property="og:description" content="​    栈，队列，链表    https://www.pwzxxm.com/cn/stack-queue-link-list/    •哈希表，哈希数组    •堆，优先队列    双端队列    可并堆    左偏堆    •二叉查找树    Treap    伸展树    •并查集    集合计数问题    二分图的识别    •平衡二叉树    •二叉排序树    •线段树    一维线段">
<meta property="og:locale" content="zh-Hans">
<meta property="og:updated_time" content="2018-06-14T02:47:47.887Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="算法学习目录">
<meta name="twitter:description" content="​    栈，队列，链表    https://www.pwzxxm.com/cn/stack-queue-link-list/    •哈希表，哈希数组    •堆，优先队列    双端队列    可并堆    左偏堆    •二叉查找树    Treap    伸展树    •并查集    集合计数问题    二分图的识别    •平衡二叉树    •二叉排序树    •线段树    一维线段">
    
        <link rel="alternate" type="application/atom+xml" title="写作之路" href="/atom.xml">
    
    <link rel="shortcut icon" href="/favicon.ico">
    <link rel="stylesheet" href="//unpkg.com/hexo-theme-material-indigo@latest/css/style.css">
    <script>window.lazyScripts=[]</script>

    <!-- custom head -->
    

</head>

<body>
    <div id="loading" class="active"></div>

    <aside id="menu" class="hide" >
  <div class="inner flex-row-vertical">
    <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="menu-off">
        <i class="icon icon-lg icon-close"></i>
    </a>
    <div class="brand-wrap" style="background-image:url(/img/brand.jpg)">
      <div class="brand">
        <a href="/" class="avatar waves-effect waves-circle waves-light">
          <img src="/img/avatar.jpg">
        </a>
        <hgroup class="introduce">
          <h5 class="nickname">godfeer</h5>
          <a href="mailto:godfeer@aliyun.com" title="godfeer@aliyun.com" class="mail">godfeer@aliyun.com</a>
        </hgroup>
      </div>
    </div>
    <div class="scroll-wrap flex-col">
      <ul class="nav">
        
            <li class="waves-block waves-effect">
              <a href="/"  >
                <i class="icon icon-lg icon-home"></i>
                主页
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/archives"  >
                <i class="icon icon-lg icon-archives"></i>
                Archives
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/tags"  >
                <i class="icon icon-lg icon-tags"></i>
                Tags
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/categories"  >
                <i class="icon icon-lg icon-th-list"></i>
                Categories
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="https://github.com/e9ab98e991ab" target="_blank" >
                <i class="icon icon-lg icon-github"></i>
                Github
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="https://weibo.com/2134523903/profile?rightmod=1&wvr=6&mod=personinfo" target="_blank" >
                <i class="icon icon-lg icon-weibo"></i>
                Weibo
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/custom"  >
                <i class="icon icon-lg icon-link"></i>
                我的文章
              </a>
            </li>
        
      </ul>
    </div>
  </div>
</aside>

    <main id="main">
        <header class="top-header" id="header">
    <div class="flex-row">
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light on" id="menu-toggle">
          <i class="icon icon-lg icon-navicon"></i>
        </a>
        <div class="flex-col header-title ellipsis">算法学习目录</div>
        
        <div class="search-wrap" id="search-wrap">
            <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="back">
                <i class="icon icon-lg icon-chevron-left"></i>
            </a>
            <input type="text" id="key" class="search-input" autocomplete="off" placeholder="Search">
            <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="search">
                <i class="icon icon-lg icon-search"></i>
            </a>
        </div>
        
        
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="menuShare">
            <i class="icon icon-lg icon-share-alt"></i>
        </a>
        
    </div>
</header>
<header class="content-header post-header">

    <div class="container fade-scale">
        <h1 class="title">算法学习目录</h1>
        <h5 class="subtitle">
            
                <time datetime="2018-02-10T03:22:02.000Z" itemprop="datePublished" class="page-time">
  2018-02-10
</time>


            
        </h5>
    </div>

    


</header>


<div class="container body-wrap">
    

<article id="post-算法目录"
  class="post-article article-type-post fade" itemprop="blogPost">

    <div class="post-card">
        <h1 class="post-card-title">算法学习目录</h1>
        <div class="post-meta">
            <time class="post-time" title="2018-02-10 11:22:02" datetime="2018-02-10T03:22:02.000Z"  itemprop="datePublished">2018-02-10</time>

            


            
<span id="busuanzi_container_page_pv" title="文章总阅读量" style='display:none'>
    <i class="icon icon-eye icon-pr"></i><span id="busuanzi_value_page_pv"></span>
</span>


        </div>
        <div class="post-content" id="post-content" itemprop="postContent">
            <p>​    栈，队列，链表    <a href="https://www.pwzxxm.com/cn/stack-queue-link-list/" target="_blank" rel="noopener">https://www.pwzxxm.com/cn/stack-queue-link-list/</a><br>    •哈希表，哈希数组<br>    •堆，优先队列<br>    双端队列<br>    可并堆<br>    左偏堆<br>    •二叉查找树<br>    Treap<br>    伸展树<br>    •并查集<br>    集合计数问题<br>    二分图的识别<br>    •平衡二叉树<br>    •二叉排序树<br>    •线段树<br>    一维线段树<br>    二维线段树<br>    •树状数组<br>    一维树状数组<br>    N维树状数组<br>    •字典树<br>    •后缀数组，后缀树<br>    •块状链表<br>    •哈夫曼树<br>    •桶，跳跃表<br>    •Trie树(静态建树、动态建树)<br>    •AC自动机<br>    •LCA和RMQ问题<br>    •KMP算法</p>
<hr>
<hr>
<hr>
<p>图论<br>    基本图算法图<br>    广度优先遍历<br>    深度优先遍历<br>    拓扑排序<br>    割边割点<br>    强连通分量<br>    Tarjan算法<br>    双连通分量<br>    强连通分支及其缩点<br>    图的割边和割点<br>    最小割模型、网络流规约<br>    2-SAT问题<br>    欧拉回路<br>    哈密顿回路<br>    •最小生成树<br>    Prim算法<br>    Kruskal算法(稀疏图)<br>    Sollin算法<br>    次小生成树<br>    第k小生成树<br>    最优比例生成树<br>    最小树形图<br>    最小度限制生成树<br>    平面点的欧几里德最小生成树<br>    平面点的曼哈顿最小生成树<br>    最小平衡生成树<br>    •最短路径<br>    有向无环图的最短路径-&gt;拓扑排序<br>    非负权值加权图的最短路径-&gt;Dijkstra算法(可使用二叉堆优化)<br>    含负权值加权图的最短路径-&gt;Bellmanford算法<br>    含负权值加权图的最短路径-&gt;Spfa算法<br>    (稠密带负权图中SPFA的效率并不如Bellman-Ford高)<br>    全源最短路弗洛伊德算法Floyd<br>    全源最短路Johnson算法<br>    次短路径<br>    第k短路径<br>    差分约束系统<br>    平面点对的最短路径(优化)<br>    双标准限制最短路径<br>    •最大流<br>    增广路-&gt;Ford-Fulkerson算法<br>    预推流<br>    Dinic算法<br>    有上下界限制的最大流<br>    节点有限制的网络流<br>    无向图最小割-&gt;Stoer-Wagner算法<br>    有向图和无向图的边不交路径<br>    Ford-Fulkerson迭加算法<br>    含负费用的最小费用最大流<br>    •匹配<br>    Hungary算法<br>    最小点覆盖<br>    最小路径覆盖<br>    最大独立集问题<br>    二分图最优完备匹配Kuhn-Munkras算法<br>    不带权二分匹配：匈牙利算法<br>    带权二分匹配：KM算法<br>    一般图的最大基数匹配<br>    一般图的赋权匹配问题<br>    •拓扑排序<br>    •弦图<br>    •稳定婚姻问题</p>
<hr>
<hr>
<hr>
<p>搜索<br>    广搜的状态优化<br>    利用M进制数存储状态<br>    转化为串用hash表判重<br>    按位压缩存储状态<br>    双向广搜<br>    A<em>算法<br>    •深搜的优化<br>    位运算<br>    剪枝<br>    函数参数尽可能少<br>    层数不易过大<br>    双向搜索或者是轮换搜索<br>    IDA</em>算法<br>    •记忆化搜索</p>
<hr>
<hr>
<hr>
<p>动态规划<br>    四边形不等式理论<br>    •不完全状态记录<br>    青蛙过河问题<br>    利用区间dp<br>    •背包类问题<br>    0-1背包，经典问题<br>    无限背包，经典问题<br>    判定性背包问题<br>    带附属关系的背包问题</p>
<pre><code>+ -1背包问题
双背包求最优值
构造三角形问题
带上下界限制的背包问题(012背包)
•线性的动态规划问题
积木游戏问题
决斗（判定性问题）
圆的最大多边形问题
统计单词个数问题
棋盘分割
日程安排问题
最小逼近问题(求出两数之比最接近某数/两数之和等于某数等等)
方块消除游戏(某区间可以连续消去求最大效益)
资源分配问题
数字三角形问题
漂亮的打印
邮局问题与构造答案
最高积木问题
两段连续和最大
2次幂和问题
N个数的最大M段子段和
交叉最大数问题
•判定性问题的dp(如判定整除、判定可达性等)
模K问题的dp
特殊的模K问题，求最大(最小)模K的数
变换数问题
•单调性优化的动态规划
1-SUM问题
2-SUM问题
序列划分问题(单调队列优化)
•剖分问题(多边形剖分/石子合并/圆的剖分/乘积最大)
凸多边形的三角剖分问题
乘积最大问题
多边形游戏(多边形边上是操作符,顶点有权值)
石子合并(N^3/N^2/NLogN各种优化)
•贪心的动态规划
最优装载问题
部分背包问题
乘船问题
贪心策略
双机调度问题Johnson算法
•状态dp
牛仔射击问题(博弈类)
哈密顿路径的状态dp
两支点天平平衡问题
一个有向图的最接近二部图
•树型dp
完美服务器问题(每个节点有3种状态)
小胖守皇宫问题
网络收费问题
树中漫游问题
树上的博弈
树的最大独立集问题
树的最大平衡值问题
构造树的最小环
</code></pre><hr>
<hr>
<hr>
<p>数论<br>    中国剩余定理<br>    •欧拉函数<br>    •欧几里得定理<br>    •欧几里德辗转相除法求GCD(最大公约数)<br>    •扩展欧几里得<br>    •大数分解与素数判定<br>    •佩尔方程<br>    •同余定理(大数求余)<br>    •素数测试<br>    一千万以内：筛选法<br>    一千万以外：米勒测试法<br>    •连分数逼近<br>    •因式分解<br>    •循环群生成元<br>    •素数与整除问题<br>    •进制位.<br>    •同余模运算</p>
<hr>
<p>组合数学<br>    排列组合<br>    •容斥原理<br>    •递推关系和生成函数<br>    •Polya计数法<br>    Polya计数公式<br>    Burnside定理<br>    •N皇后构造解<br>    •幻方的构造<br>    •满足一定条件的hamilton圈的构造<br>    •Catalan数<br>    •Stirling数<br>    •斐波拉契数<br>    •调和数<br>    •连分数<br>    •MoBius反演<br>    •偏序关系理论<br>    •加法原理和乘法原理</p>
<hr>
<hr>
<hr>
<p>数学</p>
<hr>
<p>计算几何<br>     •基本公式<br>    叉乘<br>    点乘<br>    常见形状的面积、周长、体积公式<br>    坐标离散化<br>    •线段<br>    判断两线段（一直线、一线段）是否相交<br>    求两线段的交点<br>    •多边形<br>    判定凸多边形,顶点按顺时针或逆时针给出,(不)允许相邻边共线<br>    判点在凸多边形内或多边形边上,顶点按顺时针或逆时针给出<br>    判点在凸多边形内,顶点按顺时针或逆时针给出,在多边形边上返回0<br>    判点在任意多边形内,顶点按顺时针或逆时针给出<br>    判线段在任意多边形内,顶点按顺时针或逆时针给出,与边界相交返回1<br>    多边形重心<br>    多边形切割(半平面交)<br>    扫描线算法<br>    多边形的内核<br>    •三角形<br>    内心<br>    外心<br>    重心<br>    垂心<br>    费马点<br>    •圆<br>    判直线和圆相交,包括相切<br>    判线段和圆相交,包括端点和相切<br>    判圆和圆相交,包括相切<br>    计算圆上到点p最近点,如p与圆心重合,返回p本身<br>    计算直线与圆的交点,保证直线与圆有交点<br>    计算线段与圆的交点可用这个函数后判点是否在线段上<br>    计算圆与圆的交点,保证圆与圆有交点,圆心不重合<br>    计算两圆的内外公切线<br>    计算线段到圆的切点<br>    点集最小圆覆盖<br>    •可视图的建立<br>    •对踵点<br>    •经典问题<br>    平面凸包<br>    三维凸包<br>    Delaunay剖分/Voronoi图</p>
<hr>
<p>计算方法<br>    二分法<br>    二分法求解单调函数相关知识<br>    用矩阵加速的计算<br>    •迭代法<br>    •三分法<br>    •解线性方程组<br>    LUP分解<br>    高斯消元<br>    •解模线性方程组<br>    •定积分计算<br>    •多项式求根<br>    •周期性方程<br>    •线性规划<br>    •快速傅立叶变换<br>    •随机算法<br>    •0/1分数规划<br>    •三分法求解单峰(单谷)的极值<br>    •迭代逼近<br>    •矩阵法</p>
<hr>
<p>博弈论<br>    极大极小过程<br>    •Nim问题</p>
<hr>
<hr>
<hr>

        </div>

        <blockquote class="post-copyright">
    
    <div class="content">
        
<span class="post-time">
    Last updated: <time datetime="2018-06-14T02:47:47.887Z" itemprop="dateUpdated">2018-06-14 10:47:47</time>
</span><br>


        
        这里可以写作者留言，标签和 hexo 中所有变量及辅助函数等均可调用，示例：<a href="/2018/02/10/算法目录/" target="_blank" rel="external">https://e9ab98e991ab.github.io/2018/02/10/算法目录/</a>
        
    </div>
    
    <footer>
        <a href="https://e9ab98e991ab.github.io">
            <img src="/img/avatar.jpg" alt="godfeer">
            godfeer
        </a>
    </footer>
</blockquote>

        
<div class="page-reward">
    <a id="rewardBtn" href="javascript:;" class="page-reward-btn waves-effect waves-circle waves-light">赏</a>
</div>



        <div class="post-footer">
            

            
<div class="page-share-wrap">
    

<div class="page-share" id="pageShare">
    <ul class="reset share-icons">
      <li>
        <a class="weibo share-sns" target="_blank" href="http://service.weibo.com/share/share.php?url=https://e9ab98e991ab.github.io/2018/02/10/算法目录/&title=《算法学习目录》 — 写作之路&pic=https://e9ab98e991ab.github.io/img/avatar.jpg" data-title="微博">
          <i class="icon icon-weibo"></i>
        </a>
      </li>
      <li>
        <a class="weixin share-sns wxFab" href="javascript:;" data-title="微信">
          <i class="icon icon-weixin"></i>
        </a>
      </li>
      <li>
        <a class="qq share-sns" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=https://e9ab98e991ab.github.io/2018/02/10/算法目录/&title=《算法学习目录》 — 写作之路&source=" data-title=" QQ">
          <i class="icon icon-qq"></i>
        </a>
      </li>
      <li>
        <a class="facebook share-sns" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://e9ab98e991ab.github.io/2018/02/10/算法目录/" data-title=" Facebook">
          <i class="icon icon-facebook"></i>
        </a>
      </li>
      <li>
        <a class="twitter share-sns" target="_blank" href="https://twitter.com/intent/tweet?text=《算法学习目录》 — 写作之路&url=https://e9ab98e991ab.github.io/2018/02/10/算法目录/&via=https://e9ab98e991ab.github.io" data-title=" Twitter">
          <i class="icon icon-twitter"></i>
        </a>
      </li>
      <li>
        <a class="google share-sns" target="_blank" href="https://plus.google.com/share?url=https://e9ab98e991ab.github.io/2018/02/10/算法目录/" data-title=" Google+">
          <i class="icon icon-google-plus"></i>
        </a>
      </li>
    </ul>
 </div>



    <a href="javascript:;" id="shareFab" class="page-share-fab waves-effect waves-circle">
        <i class="icon icon-share-alt icon-lg"></i>
    </a>
</div>



        </div>
    </div>

    
<nav class="post-nav flex-row flex-justify-between">
  
    <div class="waves-block waves-effect prev">
      <a href="/2018/02/10/搭建免费个人博客/" id="post-prev" class="post-nav-link">
        <div class="tips"><i class="icon icon-angle-left icon-lg icon-pr"></i> Prev</div>
        <h4 class="title">搭建免费个人博客</h4>
      </a>
    </div>
  

  
    <div class="waves-block waves-effect next">
      <a href="/2018/02/10/JRebel激活码/" id="post-next" class="post-nav-link">
        <div class="tips">Next <i class="icon icon-angle-right icon-lg icon-pl"></i></div>
        <h4 class="title">JRebel激活码</h4>
      </a>
    </div>
  
</nav>



    

















</article>

<div id="reward" class="page-modal reward-lay">
    <a class="close" href="javascript:;"><i class="icon icon-close"></i></a>
    <h3 class="reward-title">
        <i class="icon icon-quote-left"></i>
        谢谢大爷~
        <i class="icon icon-quote-right"></i>
    </h3>
    <div class="reward-content">
        
        <div class="reward-code">
            <img id="rewardCode" src="/img/wechat.jpg" alt="打赏二维码">
        </div>
        
        <label class="reward-toggle">
            <input id="rewardToggle" type="checkbox" class="reward-toggle-check"
                data-wechat="/img/wechat.jpg" data-alipay="/img/alipay.jpg">
            <div class="reward-toggle-ctrol">
                <span class="reward-toggle-item wechat">微信</span>
                <span class="reward-toggle-label"></span>
                <span class="reward-toggle-item alipay">支付宝</span>
            </div>
        </label>
        
    </div>
</div>



</div>

        <footer class="footer">
    <div class="top">
        
<p>
    <span id="busuanzi_container_site_uv" style='display:none'>
        站点总访客数：<span id="busuanzi_value_site_uv"></span>
    </span>
    <span id="busuanzi_container_site_pv" style='display:none'>
        站点总访问量：<span id="busuanzi_value_site_pv"></span>
    </span>
</p>


        <p>
            
                <span><a href="/atom.xml" target="_blank" class="rss" title="rss"><i class="icon icon-lg icon-rss"></i></a></span>
            
            <span>This blog is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</span>
        </p>
    </div>
    <div class="bottom">
        <p><span>godfeer &copy; 2015 - 2018</span>
            <span>
                
                Power by <a href="http://hexo.io/" target="_blank">Hexo</a> Theme <a href="https://github.com/yscoder/hexo-theme-indigo" target="_blank">indigo</a>
            </span>
        </p>
    </div>
</footer>

    </main>
    <div class="mask" id="mask"></div>
<a href="javascript:;" id="gotop" class="waves-effect waves-circle waves-light"><span class="icon icon-lg icon-chevron-up"></span></a>



<div class="global-share" id="globalShare">
    <ul class="reset share-icons">
      <li>
        <a class="weibo share-sns" target="_blank" href="http://service.weibo.com/share/share.php?url=https://e9ab98e991ab.github.io/2018/02/10/算法目录/&title=《算法学习目录》 — 写作之路&pic=https://e9ab98e991ab.github.io/img/avatar.jpg" data-title="微博">
          <i class="icon icon-weibo"></i>
        </a>
      </li>
      <li>
        <a class="weixin share-sns wxFab" href="javascript:;" data-title="微信">
          <i class="icon icon-weixin"></i>
        </a>
      </li>
      <li>
        <a class="qq share-sns" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=https://e9ab98e991ab.github.io/2018/02/10/算法目录/&title=《算法学习目录》 — 写作之路&source=" data-title=" QQ">
          <i class="icon icon-qq"></i>
        </a>
      </li>
      <li>
        <a class="facebook share-sns" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://e9ab98e991ab.github.io/2018/02/10/算法目录/" data-title=" Facebook">
          <i class="icon icon-facebook"></i>
        </a>
      </li>
      <li>
        <a class="twitter share-sns" target="_blank" href="https://twitter.com/intent/tweet?text=《算法学习目录》 — 写作之路&url=https://e9ab98e991ab.github.io/2018/02/10/算法目录/&via=https://e9ab98e991ab.github.io" data-title=" Twitter">
          <i class="icon icon-twitter"></i>
        </a>
      </li>
      <li>
        <a class="google share-sns" target="_blank" href="https://plus.google.com/share?url=https://e9ab98e991ab.github.io/2018/02/10/算法目录/" data-title=" Google+">
          <i class="icon icon-google-plus"></i>
        </a>
      </li>
    </ul>
 </div>


<div class="page-modal wx-share" id="wxShare">
    <a class="close" href="javascript:;"><i class="icon icon-close"></i></a>
    <p>扫一扫，分享到微信</p>
    <img src="//api.qrserver.com/v1/create-qr-code/?data=https://e9ab98e991ab.github.io/2018/02/10/算法目录/" alt="微信分享二维码">
</div>




    <script src="//cdn.bootcss.com/node-waves/0.7.4/waves.min.js"></script>
<script>
var BLOG = { ROOT: '/', SHARE: true, REWARD: true };


</script>

<script src="//unpkg.com/hexo-theme-material-indigo@latest/js/main.min.js"></script>


<div class="search-panel" id="search-panel">
    <ul class="search-result" id="search-result"></ul>
</div>
<template id="search-tpl">
<li class="item">
    <a href="{path}" class="waves-block waves-effect">
        <div class="title ellipsis" title="{title}">{title}</div>
        <div class="flex-row flex-middle">
            <div class="tags ellipsis">
                {tags}
            </div>
            <time class="flex-col time">{date}</time>
        </div>
    </a>
</li>
</template>

<script src="//unpkg.com/hexo-theme-material-indigo@latest/js/search.min.js" async></script>






<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>



<script>
(function() {
    var OriginTitile = document.title, titleTime;
    document.addEventListener('visibilitychange', function() {
        if (document.hidden) {
            document.title = '死鬼去哪里了！';
            clearTimeout(titleTime);
        } else {
            document.title = '(つェ⊂)咦!又好了!';
            titleTime = setTimeout(function() {
                document.title = OriginTitile;
            },2000);
        }
    });
})();
</script>



</body>
</html>
